package com.devilvan.betrice.constant;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * @author Evad.Wu
 * @Description 数据范围 枚举类
 * @date 2023-08-11
 */
@Getter
@AllArgsConstructor
public enum DataScope {
    /**
     * 全部数据权限
     */
    ALL(1),
    /**
     * 自定义数据权限
     */
    CUSTOM(2),
    /**
     * 本部门数据权限
     */
    DEPT(3),
    /**
     * 本部门及以下数据权限
     */
    DEPT_BELOW(4);

    /**
     * 编号
     */
    private final int code;

    /**
     * 根据编号获取枚举对象
     *
     * @param code 编号
     * @return 枚举对象
     */
    public DataScope getInstanceByCode(int code) {
        DataScope[] values = DataScope.values();
        for (DataScope dataScope : values) {
            if (dataScope.code == code) {
                return dataScope;
            }
        }
        return null;
    }
}
